home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / COMAL / Z-Misc Series / (k)ze.d64 / src.arrayfnc < prev    next >
Text File  |  2007-03-01  |  2KB  |  80 lines

  1. ;--------------------------------;
  2. ; ARRAYFNC - A COMAL MODULE      ;
  3. ;                                ;
  4. ; EXTENDING COMAL WITH SOME      ;
  5. ;           ARRAY FUNCTIONS      ;
  6. ; BY DICK KLINGENS               ;
  7. ; 851002                         ;
  8. ; DUTCH COMAL USERS GROUP        ;
  9. ; THE HAGUE - HOLLAND            ;
  10. ;--------------------------------;
  11. ;
  12. ;--CONSTANTS & VARIABLES---------;
  13. FUNC =227
  14. ENDFNC =126
  15. PARAM  =114
  16. VALUE  =PARAM+0
  17. REAL   =0
  18. STR    =2
  19. ARRAY  =6
  20. DEFPAG =%01000110
  21. ;
  22. COPY1 =$0045
  23. ;
  24. ;--ROUTINES----------------------;
  25. FNDPAR =$C896
  26. PSHINT =$C9CE
  27. RUNERR =$C9FB
  28. DUMMY =$CA2F
  29. ;
  30. ;--MODULE DESCRIPTION------------;
  31. ;
  32. *      =$8009 ;START ADDRESS
  33. ;
  34.        .BYTE DEFPAG ;MEMORY MAP
  35.        .WORD EIND ;END OF MODULE
  36.        .WORD DUMMY     ;NO SIGNAL ROUTINES
  37. ;
  38.        .BYTE 6,'ARFUNC' ;PACKAGE NAME
  39.        .WORD PRTAB
  40.        .WORD DUMMY     ;NO INITIALISATION
  41.        .BYTE 0 ;NO MORE PACKAGES
  42. ;--PROCEDURE TABEL---------------;
  43. PRTAB .BYTE 5,'ARMAX'
  44.  .WORD HMAX
  45.  .BYTE 5,'ARMIN'
  46.  .WORD HMIN
  47.  .BYTE 0
  48. ;
  49. ;--PROCEDURE HEADERS-------------;
  50. HMAX .BYTE FUNC+REAL,<BMAX,>BMAX,1
  51.        .BYTE VALUE+ARRAY+STR,1
  52.  .BYTE ENDFNC
  53. ;
  54. HMIN   .BYTE FUNC+REAL,<BMIN,>BMIN,1
  55.        .BYTE VALUE+ARRAY+STR,1
  56.  .BYTE ENDFNC
  57. ;
  58. ;--PROCEDURE BODIES--------------;
  59. BMAX LDA #1
  60.        JSR FNDPAR
  61.        LDY #6
  62.        LDA (COPY1),Y
  63.        TAX           ;.X:=LO BYTE UPPER BOUND
  64.        DEY
  65.        LDA (COPY1),Y ;.A:=HI BYTE UPPER BOUND
  66.        JSR PSHINT      ;VALUE ON STACK
  67.        RTS             ;COMAL
  68. ;
  69. BMIN   LDA #1
  70.        JSR FNDPAR
  71.        LDY #4
  72.        LDA (COPY1),Y
  73.        TAX           ;.X:=LO BYTE LOWER BOUND
  74.        DEY
  75.        LDA (COPY1),Y ;.A:=HI BYTE LOWER BOUND
  76.        JSR PSHINT      ;VALUE ON STACK
  77.        RTS             ;COMAL
  78. ;
  79. EIND   .END
  80.